package com.houger.ddd.seckill.template.context;

import com.houger.ddd.seckill.facade.dto.ActivityRewardItemDto;
import com.houger.ddd.seckill.facade.dto.ActivityTemplateBasicDto;
import com.houger.ddd.seckill.facade.dto.ActivityTemplateBizConfigDto;
import com.houger.ddd.seckill.facade.dto.ActivityTemplateUiConfigDto;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.util.List;

@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
public class ActivityContext implements Serializable {

    //活动模板代码
    private Long id;
    //活动模板代码
    private String templateCode;

    public Long getId(){
        return id == null ? this.basicDto == null ? null : this.basicDto.getId() : this.getId();
    }
    public String getTemplateCode() {
        return templateCode == null ? this.basicDto == null ? null : this.basicDto.getTemplateCode() : this.templateCode;
    }

    //活动基础属性
    private ActivityTemplateBasicDto basicDto;

    //活动业务属性
    private ActivityTemplateBizConfigDto bizConfigDto;

    //UI配置属性
    private ActivityTemplateUiConfigDto uiConfigDto;

    //奖池配置
    private List<ActivityRewardItemDto> rewardItemDtoList;


}